home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2006 May / PCWMAY06.iso / Software / Freeware / First Page 2006 3.00 / fp2006-final-3.00-setup.exe / {app} / Iscripts / Forms Misc / the-picklist.izs < prev    next >
Text File  |  2005-09-28  |  11KB  |  578 lines

  1. <!NOWIZARD>
  2.  
  3. <!TITLE>The Picklist Script 
  4. <!/TITLE>
  5.  
  6. <!DESCRIPTION>This little snippet is a picklist. Add it to your forms to move selections from one column to another. <!/DESCRIPTION> 
  7.  
  8. <!CATEGORY>Forms<!/CATEGORY>
  9.  
  10. <!SCRIPT>
  11. <!-- START OF SCRIPT -->
  12.  
  13.  
  14. <!-- HOW TO INSTALL THE PICKLIST SCRIPT:
  15.  
  16.  
  17.  
  18.   1.  Copy code into the HEAD section of document
  19.  
  20.   2.  Add the onLoad event handler into the BODY tag
  21.  
  22.   3.  Put last coding into the BODY section of document  -->
  23.  
  24.  
  25.  
  26. <!-- STEP ONE: Add code into HEAD section of document  -->
  27.  
  28.  
  29.  
  30. <HEAD>
  31.  
  32.  
  33.  
  34.  
  35. <!-- Original:  Sean Geraty () -->
  36.  
  37. <!-- Web Site:  http://www.freewebs.com/sean_geraty/ -->
  38.  
  39. <SCRIPT LANGUAGE="JavaScript">
  40.  
  41. <!--
  42.  
  43.  
  44.  
  45. // Control flags for list selection and sort sequence
  46.  
  47. // Sequence is on option value (first 2 chars - can be stripped off in form processing)
  48.  
  49. // It is assumed that the select list is in sort sequence initially
  50.  
  51. var singleSelect = true;  // Allows an item to be selected once only
  52.  
  53. var sortSelect = true;  // Only effective if above flag set to true
  54.  
  55. var sortPick = true;  // Will order the picklist in sort sequence
  56.  
  57.  
  58.  
  59. // Initialise - invoked on load
  60.  
  61. function initIt() {
  62.  
  63.   var selectList = document.getElementById("SelectList");
  64.  
  65.   var pickList = document.getElementById("PickList");
  66.  
  67.   var pickOptions = pickList.options;
  68.  
  69.   pickOptions[0] = null;  // Remove initial entry from picklist (was only used to set default width)
  70.  
  71.   selectList.focus();  // Set focus on the selectlist
  72.  
  73. }
  74.  
  75.  
  76.  
  77. // Adds a selected item into the picklist
  78.  
  79. function addIt() {
  80.  
  81.   var selectList = document.getElementById("SelectList");
  82.  
  83.   var selectIndex = selectList.selectedIndex;
  84.  
  85.   var selectOptions = selectList.options;
  86.  
  87.   var pickList = document.getElementById("PickList");
  88.  
  89.   var pickOptions = pickList.options;
  90.  
  91.   var pickOLength = pickOptions.length;
  92.  
  93.   // An item must be selected
  94.  
  95.   if (selectIndex > -1) {
  96.  
  97.     pickOptions[pickOLength] = new Option(selectList[selectIndex].text);
  98.  
  99.     pickOptions[pickOLength].value = selectList[selectIndex].value;
  100.  
  101.     // If single selection, remove the item from the select list
  102.  
  103.     if (singleSelect) {
  104.  
  105.       selectOptions[selectIndex] = null;
  106.  
  107.     }
  108.  
  109.     if (sortPick) {
  110.  
  111.       var tempText;
  112.  
  113.       var tempValue;
  114.  
  115.       // Sort the pick list
  116.  
  117.       while (pickOLength > 0 && pickOptions[pickOLength].value < pickOptions[pickOLength-1].value) {
  118.  
  119.         tempText = pickOptions[pickOLength-1].text;
  120.  
  121.         tempValue = pickOptions[pickOLength-1].value;
  122.  
  123.         pickOptions[pickOLength-1].text = pickOptions[pickOLength].text;
  124.  
  125.         pickOptions[pickOLength-1].value = pickOptions[pickOLength].value;
  126.  
  127.         pickOptions[pickOLength].text = tempText;
  128.  
  129.         pickOptions[pickOLength].value = tempValue;
  130.  
  131.         pickOLength = pickOLength - 1;
  132.  
  133.       }
  134.  
  135.     }
  136.  
  137.   }
  138.  
  139. }
  140.  
  141.  
  142.  
  143. // Deletes an item from the picklist
  144.  
  145. function delIt() {
  146.  
  147.   var selectList = document.getElementById("SelectList");
  148.  
  149.   var selectOptions = selectList.options;
  150.  
  151.   var selectOLength = selectOptions.length;
  152.  
  153.   var pickList = document.getElementById("PickList");
  154.  
  155.   var pickIndex = pickList.selectedIndex;
  156.  
  157.   var pickOptions = pickList.options;
  158.  
  159.   if (pickIndex > -1) {
  160.  
  161.     // If single selection, replace the item in the select list
  162.  
  163.     if (singleSelect) {
  164.  
  165.       selectOptions[selectOLength] = new Option(pickList[pickIndex].text);
  166.  
  167.       selectOptions[selectOLength].value = pickList[pickIndex].value;
  168.  
  169.     }
  170.  
  171.     pickOptions[pickIndex] = null;
  172.  
  173.     if (singleSelect && sortSelect) {
  174.  
  175.       var tempText;
  176.  
  177.       var tempValue;
  178.  
  179.       // Re-sort the select list
  180.  
  181.       while (selectOLength > 0 && selectOptions[selectOLength].value < selectOptions[selectOLength-1].value) {
  182.  
  183.         tempText = selectOptions[selectOLength-1].text;
  184.  
  185.         tempValue = selectOptions[selectOLength-1].value;
  186.  
  187.         selectOptions[selectOLength-1].text = selectOptions[selectOLength].text;
  188.  
  189.         selectOptions[selectOLength-1].value = selectOptions[selectOLength].value;
  190.  
  191.         selectOptions[selectOLength].text = tempText;
  192.  
  193.         selectOptions[selectOLength].value = tempValue;
  194.  
  195.         selectOLength = selectOLength - 1;
  196.  
  197.       }
  198.  
  199.     }
  200.  
  201.   }
  202.  
  203. }
  204.  
  205.  
  206.  
  207. -->
  208.  
  209. </SCRIPT>
  210.  
  211. </HEAD>
  212.  
  213.  
  214.  
  215. <!-- STEP TWO: Insert the onLoad event handler into your BODY tag  -->
  216.  
  217.  
  218.  
  219. <BODY onLoad="initIt()">
  220.  
  221.  
  222.  
  223. <!-- STEP THREE: Copy code into BODY section of document  -->
  224.  
  225. <!-- Original:  Sean Geraty () -->
  226.  
  227. <!-- Web Site:  http://www.freewebs.com/sean_geraty/ -->
  228.  
  229. <!-- This form is inoperational! Provisional users can't create forms NAME="theform" ID="theform" onSubmit="return false" -->
  230.  
  231. <TABLE>
  232.  
  233. <TR>
  234.  
  235. <TD>
  236.  
  237. <SELECT NAME="SelectList" ID="SelectList" SIZE="5">
  238.  
  239. <OPTION VALUE="01sel">Selection 01</OPTION>
  240.  
  241. <OPTION VALUE="02sel">Selection 02</OPTION>
  242.  
  243. <OPTION VALUE="03sel">Selection 03</OPTION>
  244.  
  245. <OPTION VALUE="04sel">Selection 04</OPTION>
  246.  
  247. <OPTION VALUE="05sel">Selection 05</OPTION>
  248.  
  249. <OPTION VALUE="06sel">Selection 06</OPTION>
  250.  
  251. <OPTION VALUE="07sel">Selection 07</OPTION>
  252.  
  253. <OPTION VALUE="08sel">Selection 08</OPTION>
  254.  
  255. <OPTION VALUE="09sel">Selection 09</OPTION>
  256.  
  257. <OPTION VALUE="10sel">Selection 10</OPTION>
  258.  
  259. </SELECT>
  260.  
  261. </TD>
  262.  
  263. <TD>
  264.  
  265. <INPUT TYPE="BUTTON" VALUE="->" ONCLICK="addIt();"></INPUT>
  266.  
  267. <BR>
  268.  
  269. <INPUT TYPE="BUTTON" VALUE="<-" ONCLICK="delIt();"></INPUT>
  270.  
  271. </TD>
  272.  
  273. <TD>
  274.  
  275. <SELECT NAME="PickList" ID="PickList" SIZE="5">
  276.  
  277. <OPTION VALUE="01sel">Selection 01</OPTION>
  278.  
  279. </SELECT>
  280.  
  281. </TD>
  282.  
  283. </TR>
  284.  
  285. </TABLE>
  286.  
  287. </FORM>
  288.  
  289.  
  290.  
  291. <!-- END OF SCRIPT -->
  292. <!/SCRIPT>
  293.  
  294. <!PREVIEW>
  295. <!-- START OF SCRIPT -->
  296.  
  297.  
  298. <!-- HOW TO INSTALL THE PICKLIST SCRIPT:
  299.  
  300.  
  301.  
  302.   1.  Copy code into the HEAD section of document
  303.  
  304.   2.  Add the onLoad event handler into the BODY tag
  305.  
  306.   3.  Put last coding into the BODY section of document  -->
  307.  
  308.  
  309.  
  310. <!-- STEP ONE: Add code into HEAD section of document  -->
  311.  
  312.  
  313.  
  314. <HEAD>
  315.  
  316.  
  317.  
  318.  
  319. <!-- Original:  Sean Geraty () -->
  320.  
  321. <!-- Web Site:  http://www.freewebs.com/sean_geraty/ -->
  322.  
  323. <SCRIPT LANGUAGE="JavaScript">
  324.  
  325. <!--
  326.  
  327.  
  328.  
  329. // Control flags for list selection and sort sequence
  330.  
  331. // Sequence is on option value (first 2 chars - can be stripped off in form processing)
  332.  
  333. // It is assumed that the select list is in sort sequence initially
  334.  
  335. var singleSelect = true;  // Allows an item to be selected once only
  336.  
  337. var sortSelect = true;  // Only effective if above flag set to true
  338.  
  339. var sortPick = true;  // Will order the picklist in sort sequence
  340.  
  341.  
  342.  
  343. // Initialise - invoked on load
  344.  
  345. function initIt() {
  346.  
  347.   var selectList = document.getElementById("SelectList");
  348.  
  349.   var pickList = document.getElementById("PickList");
  350.  
  351.   var pickOptions = pickList.options;
  352.  
  353.   pickOptions[0] = null;  // Remove initial entry from picklist (was only used to set default width)
  354.  
  355.   selectList.focus();  // Set focus on the selectlist
  356.  
  357. }
  358.  
  359.  
  360.  
  361. // Adds a selected item into the picklist
  362.  
  363. function addIt() {
  364.  
  365.   var selectList = document.getElementById("SelectList");
  366.  
  367.   var selectIndex = selectList.selectedIndex;
  368.  
  369.   var selectOptions = selectList.options;
  370.  
  371.   var pickList = document.getElementById("PickList");
  372.  
  373.   var pickOptions = pickList.options;
  374.  
  375.   var pickOLength = pickOptions.length;
  376.  
  377.   // An item must be selected
  378.  
  379.   if (selectIndex > -1) {
  380.  
  381.     pickOptions[pickOLength] = new Option(selectList[selectIndex].text);
  382.  
  383.     pickOptions[pickOLength].value = selectList[selectIndex].value;
  384.  
  385.     // If single selection, remove the item from the select list
  386.  
  387.     if (singleSelect) {
  388.  
  389.       selectOptions[selectIndex] = null;
  390.  
  391.     }
  392.  
  393.     if (sortPick) {
  394.  
  395.       var tempText;
  396.  
  397.       var tempValue;
  398.  
  399.       // Sort the pick list
  400.  
  401.       while (pickOLength > 0 && pickOptions[pickOLength].value < pickOptions[pickOLength-1].value) {
  402.  
  403.         tempText = pickOptions[pickOLength-1].text;
  404.  
  405.         tempValue = pickOptions[pickOLength-1].value;
  406.  
  407.         pickOptions[pickOLength-1].text = pickOptions[pickOLength].text;
  408.  
  409.         pickOptions[pickOLength-1].value = pickOptions[pickOLength].value;
  410.  
  411.         pickOptions[pickOLength].text = tempText;
  412.  
  413.         pickOptions[pickOLength].value = tempValue;
  414.  
  415.         pickOLength = pickOLength - 1;
  416.  
  417.       }
  418.  
  419.     }
  420.  
  421.   }
  422.  
  423. }
  424.  
  425.  
  426.  
  427. // Deletes an item from the picklist
  428.  
  429. function delIt() {
  430.  
  431.   var selectList = document.getElementById("SelectList");
  432.  
  433.   var selectOptions = selectList.options;
  434.  
  435.   var selectOLength = selectOptions.length;
  436.  
  437.   var pickList = document.getElementById("PickList");
  438.  
  439.   var pickIndex = pickList.selectedIndex;
  440.  
  441.   var pickOptions = pickList.options;
  442.  
  443.   if (pickIndex > -1) {
  444.  
  445.     // If single selection, replace the item in the select list
  446.  
  447.     if (singleSelect) {
  448.  
  449.       selectOptions[selectOLength] = new Option(pickList[pickIndex].text);
  450.  
  451.       selectOptions[selectOLength].value = pickList[pickIndex].value;
  452.  
  453.     }
  454.  
  455.     pickOptions[pickIndex] = null;
  456.  
  457.     if (singleSelect && sortSelect) {
  458.  
  459.       var tempText;
  460.  
  461.       var tempValue;
  462.  
  463.       // Re-sort the select list
  464.  
  465.       while (selectOLength > 0 && selectOptions[selectOLength].value < selectOptions[selectOLength-1].value) {
  466.  
  467.         tempText = selectOptions[selectOLength-1].text;
  468.  
  469.         tempValue = selectOptions[selectOLength-1].value;
  470.  
  471.         selectOptions[selectOLength-1].text = selectOptions[selectOLength].text;
  472.  
  473.         selectOptions[selectOLength-1].value = selectOptions[selectOLength].value;
  474.  
  475.         selectOptions[selectOLength].text = tempText;
  476.  
  477.         selectOptions[selectOLength].value = tempValue;
  478.  
  479.         selectOLength = selectOLength - 1;
  480.  
  481.       }
  482.  
  483.     }
  484.  
  485.   }
  486.  
  487. }
  488.  
  489.  
  490.  
  491. -->
  492.  
  493. </SCRIPT>
  494.  
  495. </HEAD>
  496.  
  497.  
  498.  
  499. <!-- STEP TWO: Insert the onLoad event handler into your BODY tag  -->
  500.  
  501.  
  502.  
  503. <BODY onLoad="initIt()">
  504.  
  505.  
  506.  
  507. <!-- STEP THREE: Copy code into BODY section of document  -->
  508.  
  509. <!-- Original:  Sean Geraty () -->
  510.  
  511. <!-- Web Site:  http://www.freewebs.com/sean_geraty/ -->
  512.  
  513. <!-- This form is inoperational! Provisional users can't create forms NAME="theform" ID="theform" onSubmit="return false" -->
  514.  
  515. <TABLE>
  516.  
  517. <TR>
  518.  
  519. <TD>
  520.  
  521. <SELECT NAME="SelectList" ID="SelectList" SIZE="5">
  522.  
  523. <OPTION VALUE="01sel">Selection 01</OPTION>
  524.  
  525. <OPTION VALUE="02sel">Selection 02</OPTION>
  526.  
  527. <OPTION VALUE="03sel">Selection 03</OPTION>
  528.  
  529. <OPTION VALUE="04sel">Selection 04</OPTION>
  530.  
  531. <OPTION VALUE="05sel">Selection 05</OPTION>
  532.  
  533. <OPTION VALUE="06sel">Selection 06</OPTION>
  534.  
  535. <OPTION VALUE="07sel">Selection 07</OPTION>
  536.  
  537. <OPTION VALUE="08sel">Selection 08</OPTION>
  538.  
  539. <OPTION VALUE="09sel">Selection 09</OPTION>
  540.  
  541. <OPTION VALUE="10sel">Selection 10</OPTION>
  542.  
  543. </SELECT>
  544.  
  545. </TD>
  546.  
  547. <TD>
  548.  
  549. <INPUT TYPE="BUTTON" VALUE="->" ONCLICK="addIt();"></INPUT>
  550.  
  551. <BR>
  552.  
  553. <INPUT TYPE="BUTTON" VALUE="<-" ONCLICK="delIt();"></INPUT>
  554.  
  555. </TD>
  556.  
  557. <TD>
  558.  
  559. <SELECT NAME="PickList" ID="PickList" SIZE="5">
  560.  
  561. <OPTION VALUE="01sel">Selection 01</OPTION>
  562.  
  563. </SELECT>
  564.  
  565. </TD>
  566.  
  567. </TR>
  568.  
  569. </TABLE>
  570.  
  571. </FORM>
  572.  
  573.  
  574. <!-- END OF SCRIPT -->
  575. <!/PREVIEW>
  576.  
  577. <!RELATED>NONE<!/RELATED>
  578.